基于無(wú)線傳感器與射頻SOC nRF9E5的糧情檢測(cè)系統(tǒng)
自動(dòng)控制技術(shù) 無(wú)線傳感器網(wǎng)絡(luò) 節(jié)點(diǎn)溫度測(cè)量
1 引言
糧食溫度檢測(cè)技術(shù)是我國(guó)糧食儲(chǔ)藏的4 大技術(shù)之一,它可以動(dòng)態(tài)監(jiān)測(cè)倉(cāng)庫(kù)糧食溫度變化情況,為糧食的儲(chǔ)藏安全提供了重要保障。由于儲(chǔ)備庫(kù)的特殊環(huán)境條件:糧食出入庫(kù)時(shí),系統(tǒng)部分模塊(主要是傳感器模塊)要拆卸和重新安裝;倉(cāng)庫(kù)中存在的有毒氣體H3P 容易腐蝕電子元器件,糧堆中損壞的傳感器不容易更換。而目前應(yīng)用于糧食儲(chǔ)藏的糧情檢測(cè)系統(tǒng)大多數(shù)采用模擬溫度傳感器、多路模擬開關(guān)、A/D 轉(zhuǎn)換器及單片機(jī)等組成的導(dǎo)線傳輸系統(tǒng)。這種溫度采集系統(tǒng)需要在倉(cāng)庫(kù)內(nèi)布置大量的測(cè)溫電纜,安裝和拆卸繁雜;同時(shí)受到導(dǎo)線電阻和分布電容的影響,測(cè)量誤差比較大,易受雷擊。為此提出了一種基于無(wú)線傳感器網(wǎng)絡(luò)的溫度檢測(cè)系統(tǒng)的設(shè)計(jì)方案,該方案不需要任何固定網(wǎng)絡(luò)的支持,安裝簡(jiǎn)單方便、系統(tǒng)穩(wěn)定可靠、可維護(hù)性好。
2 無(wú)線傳感器網(wǎng)絡(luò)
無(wú)線傳感器網(wǎng)絡(luò)是由大量微型、智能、低功耗傳感器以某種網(wǎng)絡(luò)協(xié)議構(gòu)成的無(wú)線網(wǎng)絡(luò),其目的是協(xié)作地感知、采集和處理網(wǎng)絡(luò)覆蓋的地理區(qū)域中感知對(duì)象的信息,并發(fā)布給觀察者。它綜合了傳感器技術(shù)、嵌入式計(jì)算技術(shù)、分布式信息處理技術(shù)以及無(wú)線通信技術(shù),正成為一個(gè)新興的技術(shù)領(lǐng)域,被認(rèn)為是21世紀(jì)最重要的技術(shù)之一。
無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)具有無(wú)線通信、數(shù)據(jù)采集和處理、協(xié)同合作等功能,可以隨機(jī)或者特定地布置在目標(biāo)環(huán)境中,能夠獲取周圍環(huán)境的信息并且相互協(xié)同工作完成特定任務(wù)。傳感器節(jié)點(diǎn)主要由電源管理模塊、傳感器、微處理器、存儲(chǔ)器以及射頻模塊等功能模塊構(gòu)成。電源管理模塊為其他功能單元提供正常工作所必需的能源。傳感器用于感知、獲取外界的信息,并通過(guò)信號(hào)處理電路將其轉(zhuǎn)換為數(shù)字信號(hào)。微處理器部件負(fù)責(zé)協(xié)調(diào)節(jié)點(diǎn)各部分的工作,如對(duì)傳感器獲取的信息進(jìn)行必要的處理、保存,控制傳感器和電源的工作模式等。射頻模塊負(fù)責(zé)與其他傳感器或觀察者的通信。
3 系統(tǒng)設(shè)計(jì)方案
整個(gè)系統(tǒng)由若干無(wú)線溫度傳感器節(jié)點(diǎn)、測(cè)控主機(jī)和PC 機(jī)組成,其中無(wú)線溫度傳感器節(jié)點(diǎn)按一定布點(diǎn)規(guī)則分布于倉(cāng)庫(kù)內(nèi),執(zhí)行溫度數(shù)據(jù)采集、預(yù)處理和傳輸?shù)裙ぷ鳌y(cè)控主機(jī)由無(wú)線收發(fā)模塊nRF9E5 及報(bào)警裝置組成,通過(guò)外接MAX232 轉(zhuǎn)換電路,和PC 機(jī)進(jìn)行串口通信。測(cè)控主機(jī)通過(guò)無(wú)線通訊方式與各個(gè)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸、存儲(chǔ)及命令的傳送。PC 機(jī)給測(cè)控主機(jī)發(fā)送功能命令并對(duì)采集到每個(gè)節(jié)點(diǎn)溫度數(shù)據(jù)進(jìn)行智能分析、顯示和打印。限于篇幅,本文主要介紹無(wú)線溫度傳感器節(jié)點(diǎn)的硬件結(jié)構(gòu)和軟件設(shè)計(jì)方法。
3.1 無(wú)線溫度傳感器節(jié)點(diǎn)的設(shè)計(jì)
溫度傳感器節(jié)點(diǎn)是的網(wǎng)絡(luò)的基本單元,響應(yīng)測(cè)控主機(jī)的指令并發(fā)送數(shù)據(jù)。由于傳感器節(jié)點(diǎn)通常采用電池供電,電池的容量一般不是很大。并且在使用過(guò)程中,不能給電池充電或更換電池,一旦電源耗盡,這個(gè)節(jié)點(diǎn)就失去了作用。因此在傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)過(guò)程中,任何技術(shù)和協(xié)議的使用都要以節(jié)能為前提。在硬件設(shè)計(jì)方面,要盡量采用低功耗器件,在沒(méi)有通信任務(wù)的時(shí)候,切斷射頻部分電源;在軟件設(shè)計(jì)方面,各層通信協(xié)議都應(yīng)該以節(jié)能為中心。
3.1.1 射頻SOC nRF9E5
nRF9E5 是挪威Nordic 公司去年推出的系統(tǒng)級(jí)RF 芯片。該芯片采用+3VDC 供電,面積為5mm×5mm,共有32 個(gè)外部引腳,包括UART 和SPI 等功能。內(nèi)部集成了nRF9E5 射頻模塊、8051 微控制器及A/D 轉(zhuǎn)換模塊,具有433/868/915MHz 三波段載波頻率。采用GFSK 調(diào)制,抗干擾能力強(qiáng);支持多點(diǎn)通訊,數(shù)據(jù)傳輸速率高達(dá)0.1Mbps。具有特有的ShockBurst 信號(hào)發(fā)射模式和發(fā)射信號(hào)載波監(jiān)測(cè)功能,可有效降低功耗電流、避免數(shù)據(jù)沖突。內(nèi)部寄存器為用戶測(cè)控主機(jī)提供了基礎(chǔ)的通訊協(xié)議,便于用戶擴(kuò)展,縮短了開發(fā)周期,因此很適用于無(wú)線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)。
nRF9E5 使用SPI 接口進(jìn)行單片機(jī)與無(wú)線模塊間的數(shù)據(jù)傳輸。這部分在nRF9E5 片內(nèi)的8051內(nèi)核與nRF905 射頻收發(fā)器之間完成。nRF9E5 的收發(fā)器有三種工作方式,ShockBurst 接收(RX)方式,ShockBurst 發(fā)送(TX)方式和空閑方式。nRF9E5 收發(fā)器的工作方式由特殊功能寄存器TRX_CE 和TX_EN 決定,ShockBurst 接收方式下,當(dāng)收到一個(gè)有效地址的射頻數(shù)據(jù)包時(shí),地址匹配寄存器位(AM)和數(shù)據(jù)準(zhǔn)備好寄存器位(DR)通知片內(nèi)MCU 把數(shù)據(jù)讀出。在ShockBurst 發(fā)送方式下,nRF905 自動(dòng)給要發(fā)送的數(shù)據(jù)加上前綴和CRC 校驗(yàn)。當(dāng)數(shù)據(jù)發(fā)送完后,數(shù)據(jù)準(zhǔn)備好寄存器位(DR)會(huì)通知MCU 數(shù)據(jù)已經(jīng)處理完畢。當(dāng)系統(tǒng)沒(méi)有發(fā)送和接收任務(wù)時(shí),其進(jìn)入空閑方式。nRF905 在空閑方式下,
一旦有任務(wù)要處理時(shí),其能夠在很短的時(shí)間內(nèi)就進(jìn)入ShockBurst 接收方式和ShockBurst 發(fā)送方式。空閑方式下,晶體振蕩器依然工作,配置字中的內(nèi)容不至于丟失。系統(tǒng)通訊時(shí),各模塊處于正常接收狀態(tài):收發(fā)使能位TRX_CE=1 且方式選擇位TX_EN=0。在運(yùn)行過(guò)程中,可由用戶編程修改TX_EN=1 使各其工作于發(fā)射狀態(tài)。
3.1.2 數(shù)字溫度字傳感器
DS18B20 是Dallas 公司開發(fā)的微型化、低功耗的可編程單總線數(shù)字溫度傳感器,可直接將測(cè)得溫度值轉(zhuǎn)換為數(shù)字信號(hào)輸出。并具有以下主要功能特點(diǎn):(1)獨(dú)有的單總線通信技術(shù),只需一根信號(hào)線與單片機(jī)連接即可實(shí)現(xiàn)雙向通信。(2)電源電壓范圍3.3-5V,可通過(guò)信號(hào)線寄生供電或由外電源直接供電。(3)測(cè)溫范圍為-55-125℃,在-10-85℃內(nèi)可保持±0.5℃的精確度。(4)通過(guò)編程可實(shí)現(xiàn)9-12 位的數(shù)字讀數(shù)方式,即在溫度轉(zhuǎn)化時(shí)可選擇0.5℃、0.25℃、0.125℃、0.0625℃四種不同的分辨率。(5)可設(shè)定非易失性溫度報(bào)警上下限值TH 和TL,通過(guò)報(bào)警搜索命令可獲取報(bào)警信息。